home *** CD-ROM | disk | FTP | other *** search
/ Aminet 41 / Aminet 41 (2001)(Schatztruhe)[!][Feb 2001].iso / Aminet / dev / c / libiconv_src.lha / src / tis620.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-11-07  |  606 b   |  34 lines

  1.  
  2. /*
  3.  * TIS620.2533-1
  4.  */
  5.  
  6. static int
  7. tis620_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
  8. {
  9.   unsigned char c = *s;
  10.   if (c < 0x80) {
  11.     *pwc = (wchar_t) c;
  12.     return 1;
  13.   }
  14.   else if (c >= 0xa1 && c <= 0xfb && !(c >= 0xdb && c <= 0xde)) {
  15.     *pwc = (wchar_t) (c + 0x0d60);
  16.     return 1;
  17.   }
  18.   return RET_ILSEQ;
  19. }
  20.  
  21. static int
  22. tis620_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
  23. {
  24.   if (wc < 0x0080) {
  25.     *r = wc;
  26.     return 1;
  27.   }
  28.   else if (wc >= 0x0e01 && wc <= 0x0e5b && !(wc >= 0x0e3b && wc <= 0x0e3e)) {
  29.     *r = wc-0x0d60;
  30.     return 1;
  31.   }
  32.   return RET_ILSEQ;
  33. }
  34.